#coding=utf-8
from django.db import models

#定义图书管理器
class BookInfoManager(models.Manager):
    #创建实例方法
    def create(self,btitle,bpub_date):
    #创建模型类对象self.model可以获得模型类
        book=self.model()
    #属性赋值
        book.btitle=btitle
        book.bpub_date=bpub_date
        return book

    def get_queryset(self):
        # 默认查询未删除的图书信息
        # 调用父类的成员语法为：super(子类型, self).成员
        return super(BookInfoManager, self).get_queryset().filter(isDelete=False)

#定义图书模型类BookInfo
class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)#图书名称
    bpub_date = models.DateField()#发布日期
    bread = models.IntegerField(default=0)#阅读量
    bcomment = models.IntegerField(default=0)#评论量
    isDelete = models.BooleanField(default=False)#逻辑删除
    books = BookInfoManager()
    class Meta:
        db_table='bookinfo'

#定义英雄模型类HeroInfo
class HeroInfo(models.Model):
    hname = models.CharField(max_length=20)#英雄姓名
    hgender = models.BooleanField(default=True)#英雄性别
    isDelete = models.BooleanField(default=False)#逻辑删除
    hcontent = models.CharField(max_length=100)#英雄描述信息
    hbook = models.ForeignKey('BookInfo')#英雄与图书表的关系为一对多，所以属性定义在英雄模型中
    class Meta:
        db_table='heroinfo'


class PicTest(models.Model):
    pic = models.ImageField(upload_to='booktest/')

#定义地区模型类，存储省、市、区县信息
class AreaInfo(models.Model):
    atitle = models.TextField(verbose_name='地区名称', max_length=30)
    aParent = models.ForeignKey('self', null=True, blank=True)  # 父级

    class Meta:
        db_table = 'booktest_areainfo'
